part of "../version.dart";

/// 在每个修订更新中，说明有什么地方改变了
class Change implements Jsonable {
  /// 内容，说明改变的地方在哪里
  final String content;

  /// 提出者，目前来说是一个昵称，之后可以和id绑定
  /// 如果为空，则是官方自己的想法。
  final String? proposer;

  Change({
    required this.content,
    required this.proposer,
  });

  factory Change.fromRaw(Json raw) => Change(
        content: raw["content"],
        proposer: raw["proposer"],
      );

  @override
  Json toJson() => {
        "content": content,
        "proposer": proposer,
      };

  @override
  String toString() {
    String str = content;
    if (proposer != null) str += "（by：$proposer）";
    return str;
  }
}
